Команды обработки изображений могут использоваться только в изображениях MicroSCADA. Они не могут применяться ни в диалогах, ни в командных процедурах.
7.2.1 Общие команды обработки изображений
!CLOSE
Закрывает монитор.
На (полно)графических пультах операторов команда заканчивает сеанс приложения закрытием процесса ядра монитора (PICO).
На псевдографическом мониторе команда очищает экран от изображений и закрашивает его черным цветом. Монитор может быть обновлен при нажатии на мышь, что загрузит начальное изображение MicroSCADA на экран. Если при выполнении команды !CLOSE имеются изображения в очереди изображений тревог монитора, экран не очищается, но, вместо этого, показывается самое первое (старое) изображение тревоги из очереди. Если тревога появляется в то время, когда монитор закрыт, рассматриваемый монитор определяется как монитор аварийного сигнала (тревоги) для объекта, и изображение тревоги отображается немедленно.
!FAST_PIC [picture]
!FAST_PIC - [picture]
!FAST_PIC [-] [picture] , [-] [picture] , ...
Добавляет и удаляет определения быстрых изображений на псевдографических мониторах.
'picture' |
Изображение, заданное как: |
|
[path/] picture name |
|
где |
|
'picture name' Имя изображения без расширения, и |
|
'path' Логическое имя пути. |
|
Если 'path' пропущен, используются имена пути, заданные по умолчанию. Смотрите команду PATH, раздел 7.3.6. |
|
По умолчанию: Текущее изображение. |
 |
Команда применяется только на псевдографических мониторах и не влияет на (полно)графические мониторы. |
Первый вариант команды помечает изображение, как быстрое. Если впоследствии изображение будет стираться с экрана, то оно сохранится как быстрое изображение. Это значит, что каждая динамическая часть изображения будет сохраняться в том виде, какой она имела при стирании изображения. Однако обновление завершается в случае, как и для обычных изображений. Когда изображение вновь выдается на экран, оно выглядит так же, как при его предыдущем стирании, и обновление запускается из этого же состояния. Программа запуска изображения далее не выполняется.
Второй вариант команды, где имени изображения предшествует знак "минус", удаляет определение быстрого изображения. В дальнейшем, изображение не сохраняется как быстрое. Как показано в третьем варианте команды, несколько быстрых изображений могут быть добавлены или удалены одновременно. Внимание: Если 'picture' пропущено, знак "минус" в конце строки означает, что оператор продолжается на следующей строке. Во избежание этого, введите два последовательных знака "минус" и пустую строку, как показано в примере ниже.
Быстрые изображения задаются для конкретного монитора, т.е. изображение может быть быстрым в одном мониторе, но не в других.
Быстрые изображения постоянно хранятся в оперативной памяти. Если объем памяти в компьютере недостаточен, то большое количество быстрых изображений может задерживать обработку обычных изображений.
Все определения быстрых изображений отменяются при выходе из системы или при изменении состояния приложения. После того, как быстрое изображение было отредактировано в редакторе изображений Picture Editor, оно функционирует как обычное, пока не будет сохранено вновь.
Пример:
!FAST_PIC MYPIC
;При следующем выходе из изображения MYPIC, оно будет сохранено как быстрое.
!FAST_PIC - -
;пустая строка
;Определение быстрого изображения для текущего изображения отменяется. ;После этого оно функционирует как обычное изображение.
!INT_PIC
Вывод на экран изображения аварийного сигнала (изображения тревоги).
Приходящие тревоги добавляются в очередь изображений тревог, специфичную для монитора (сеанса или окна приложения). Эта команда отображает самое старое изображение тревоги в очереди. В это же время, имя изображения удаляется из очереди изображений тревог. Если очередь изображений тревог пуста, команда не будет иметь эффекта.
В других отношениях команда работает аналогично команде !NEW _PIC.
!LAST_PIC
Вывод предыдущего изображения на экран.
Данная команда является причиной возврата процесса обработки изображений на один шаг назад в очереди, созданной командой !NEW_PIC, смотрите рис. 10, и вывода этого изображения на экран.
В других отношениях команда работает подобно !NEW_PIC.
!NEW_PIC picture
Выводит изображение на экран.
'picture' |
Изображение, которое необходимо вывести на экран, заданное как: |
|
[path/] picture name |
|
где |
|
'picture name' Имя изображения без расширения, и |
|
'path' Логическое имя пути. |
|
Если 'path' пропущен, используются имена пути, заданные по умолчанию. Смотрите команду #PATH, раздел 7.3.6. |
Изображение с заданным именем, если оно существует, выводится на экран. Сначала становится видимым задний план (фон). После этого выполняются программы рисования и запуска (если изображение не было сохранено как быстрое изображение, смотрите !FAST_PIC). Если указанное изображение не существует, выдается сообщение об ошибке.
При выводе изображения на экран, его имя автоматически помещается последним элементом в специфичную для монитора очередь показываемых изображений. Очередь поддерживается модулем обработки изображений. Если имя изображения уже находится в очереди, все последующие имена изображений удаляются из очереди, а имя изображения в его прежней позиции становится последним элементом в очереди, смотрите рис. 10.
Если 'path' пропущен, поиск изображения осуществляется в директориях, определенных именем пути по умолчанию, которое действует для реального имени изображения, смотрите команду #PATH, раздел 7.3.6.
Состояние ошибки выдается в том случае, если изображение не существует.
Примеры:
!NEW_PIC MYPIC
;Изображение с именем MYPIC отображается на экране. Поиск изображения ведется
;в директории(ях), заданных именем пути PICT.
!NEW_PIC OWNPIC/MYPIC
;Поиск изображения MYPIC осуществляется в директории(ях), заданных именем
;пути OWNPIC.
Рис. 10. Очередь изображений. Каждый монитор или контейнер изображений имеет свою собственную очередь изображений.
!RECALL_PIC
Возвращает хранящееся имя изображения.
На экран выдается изображение, имя которого сохранено командой !STORE_PIC (смотрите ниже). Функции команды аналогичны !NEW_PIC.
Команда не имеет эффекта, если не использовалась команда !STORE_PIC.
!RESTORE
Останавливает мигание функциональной клавиши.
При нажатии на функциональную клавишу, может возникнуть мигание этой клавиши (в зависимости от определения клавиши). Данная команда останавливает мигание всех функциональных клавиш на экране.
!STORE_PIC
Сохраняет имя текущего изображения.
Сохраняется имя текущего изображения, и изображение может быть позднее восстановлено командой !RECALL_PIC.
Таким способом можно одновременно сохранять только одно имя. При повторном использовании команды предыдущее имя изображения удаляется.
!UPDATE interval
Определяет интервал времени обновления.
'interval' |
Интервал времени в секундах в виде положительного вещественного выражения. Значение 'interval' автоматически округляется с точностью до 0.1 секунды. |
Если в изображении имеется программа обновления, она будет повторно выполняться в соответствии с заданным интервалом все время, пока изображение находится на экране, или до выдачи новой команды !UPDATE. После полного завершения программы обновления, она перезапускается по истечении интервала времени, заданного этой командой. Последующие команды !UPDATE могут изменять величину интервала. Действительным считается последний заданный интервал. Если в качестве интервала задан 0, то обновление прекращается до тех пор, пока не будет установлен новый интервал, отличный от 0.
При выдаче команды !UPDATE, сразу же запускается программа обновления и выполняется один раз (при условии, что интервал отличен от 0). Следующее выполнение происходит в соответствии со временем синхронизации. Затем выполнение перезапускается циклически с данным интервалом. Интервал времени между первым и вторым выполнением может отличиться от интервала, заданного командой !UPDATE.
Основное изображение, его оконные изображения и функции изображения могут иметь различные интервалы обновления.
Примеры:
!UPDATE 5
;Программа обновления перезапускается по истечении 5 секунд после
;предыдущего выполнения.
!UPDATE %A
;Интервал обновления задан значением переменной A.
7.2.2 Команды обработки окон
Окно может быть определено с помощью редактора изображений Picture Editor или команд !WIN_CREATE, !WIN_NAME вместе с командами !WIN_POS, !WIN_PIC, !WIN_REP, и !WIN_INPUT. Окно отображается на экране с помощью команд !SHOW и !SHOW_BACK, а удаляются с экрана командой !ERASE.
При отображении окна, оно помещается в верхнюю часть своего родительского изображения (смотрите иерархию изображений в Главе 4). Окна, которые являются потомками одного родителя, размещаются в соответствии с параметром их уровня (он может быть изменен командой !WIN_LEVEL). Окна одного родителя и одного уровня помещаются в стек в том порядке, в каком они были первый раз отображены командой !SHOW, и таким образом, чтобы самое новое окно располагалось сверху. Обновление окон посредством команды !SHOW не влияет на порядок их размещения в стеке. Однако, когда отображаемое окно перемещается командой !WIN_POS, оно поднимается в иерархии, чтобы стать самым верхним окном среди окон того же уровня и с тем же родителем. Когда уровень отображаемого окна модифицируется командой !WIN_LEVEL, окно помещается в стек как самое верхнее среди окон того же уровня и с тем же родителем.
Порядок размещения в стек одинаков, независимо от того, содержится дочернее окно целиком в внутри своего родителя или нет.
!ERASE [picture path]window
Стирает окно с экрана.
'window' |
Имя стираемого окна. |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. Если он пропущен, поиск окна ведется в изображении или в функции изображения, где была выдана команда. Если окно там не найдено, поиск продолжается по всему изображению. |
Команда стирает указанное окно с экрана. Если окно имеет тип PICTURE, то при стирании окна выполняется возможный выход из программы. Если окно содержит другие окна, то они также стираются.
Примеры:
!ERASE MESSAGE
;Окно MESSAGE стирается.
!ERASE TREND/COLUMN
;Окно COLUMN в окне (или в функции изображения) TREND стирается.
!SHOW [picture path]window [expression]
Выдает окно на экран.
'window' |
Имя отображаемого окна. |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. Если он пропущен, поиск окна ведется в изображении или в функции изображения, где была выдана команда. Если окно там не найдено, поиск продолжается по всему изображению. |
'expression' |
Выражение, которое будет показано в окне. Не обязательно. |
Окно отображается на экране в месте, заданном определением окна. Значение выражения рассчитывается до выдачи окна на экран.
Если выражение задано командой !SHOW, то выражение в определении окна игнорируется. Если здесь выражение пропущено, Вы можете его определить командой !WIN_INPUT. Только в качестве последнего варианта берется выражение из определения окна. Если окно определено как PICTURE или FIGURE, выражение игнорируется.
Если окно имеет тип PICTURE, то при выводе изображения выполняются возможные программы фона, рисования и запуска. Программа обновления будет выполнена в интервале, заданном в изображении окна, который может отличаться от интервала основного изображения.
Если окно не найдено, выдается состояние ошибки.
Окна стираются командой !ERASE.
Примеры:
!SHOW MESSAGE "ВВЕДИТЕ ПАРОЛЬ:"
;Текст ВВЕДИТЕ ПАРОЛЬ: показывается в окне с именем MESSAGE.
!SHOW TREND/COLUMN %MAX
;Переменная MAX показывается в окне COLUMN окна TREND.
!SHOW_BACK [picture path]window [expression]
Показывает фон изображения для окна.
'window' |
Имя окна, которое будет показано. |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. Если путь пропущен, поиск окна ведется в изображении или в функции изображения, где была выдана команда. Если окно там не найдено, поиск продолжается по всему изображению. |
'expression' |
Выражение, которое будет показано в окне. Не обязательно. |
Данная команда выдает на экран фон изображения окна. Кроме того, отображается фон функций, включенных в изображение. Выполняются фоновая программа и программа рисования, другие программы не выполняются. Окна не отображаются, и функциональные клавиши не работают.
Если окно имеет тип, отличный от PICTURE, данная команда работает как команда !SHOW.
Если окно не найдено, выдается состояние ошибки.
Фон окна стирается командой !ERASE.
Пример:
!SHOW_BACK SCHEME
;Фон изображения окна SCHEME показывается на экране.
!WIN_BG_COLOR [picture path]window color
Определяет цвет фона позади окна.
'window' |
Имя окна |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. Если путь пропущен, поиск окна ведется в изображении или в функции изображения, где была выдана команда. Если окно там не найдено, поиск продолжается по всему изображению. |
'color' |
Требуемый цвет фона, заданный именем, вектором RGB-значений или ссылкой, смотрите Главу 9. Цвет по умолчанию: цвет, определенный атрибутом MONn:BWC (смотрите руководство “Объекты системы”). |
Во время отображения окна, цвет фона виден в течение промежутка времени, пока окно прорисовывается на экране. Аналогично, когда окно стирается, цвет фона виден до тех пор, пока фон позади окна не будет перерисован на экране. Выбирая соответствующий цвет фона для окна, можно избежать нарушений цвета.
Фон окна, используемый в мониторе, задается атрибутом базовой системы MONn:BWC. Посредством команды !WIN_BG_COLOR программист SCIL может выбирать цвет фона для отдельных окон. Команда может быть задана до или после того, как окно показывается в первый раз.
Когда окно отображается впервые, цвет фона устанавливается атрибутом MON:BWC, если он не переопределен командой !WIN_BG_COLOR. Позднее изменения атрибута WC не влияют на цвет фона.
Команда !WIN_BG_COLOR не применима к псевдографическим мониторам.
!WIN_CREATE [picture path]window
Создает окно.
'window' |
Имя окна |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. Если путь пропущен, поиск окна ведется в изображении или в функции изображения, где была выдана команда. |
Команда создает новое окно во время обработки изображения. Если окно было создано этой командой, ему могут быть присвоены: позиция на экране командой !WIN_POS (позиция по умолчанию: верхний левый угол изображения), представление с помощью команды !WIN_REP (библиотечное представление) или !WIN_PIC (изображение), и выражение посредством команд !WIN_INPUT или !SHOW. Подобно окнам, созданным в редакторе изображений, окна, созданные с помощью команды !WIN_CREATE, отображаются командой !SHOW.
Сначала !WIN_CREATE проверяет, существует ли уже окно. Если никакая ссылка на изображение не дана, поиск окна ведется только внутри текущего изображения. Если окно уже существует и если оно является обычным окном, команда не дает никакого результата. Если окно существует как Motif widget, его X-фон отображается как фон окна MicroSCADA, чтобы обеспечить возможность SCIL-графике нарисовать его.
Созданное окно существует, пока изображение показано на экране или хранится как быстрое изображение (псевдографические мониторы).
Используйте !WIN_CREATE вместо !WIN_NAME в случаях, когда !WIN_NAME может вызвать нежелательные побочные эффекты.
!WIN_INPUT [picture path]window expression
Присваивает выражение окну.
'window' |
Имя окна. |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. |
'expression' |
Выражение, которое будет показано в окне. |
Команда присваивает окну выражение, которое будет сохранено на время, пока изображение отображается на экране или сохраняется как быстрое. Выражение оценивается при каждом отображении окна с помощью команды !SHOW.
С помощью данной команды выражение окна может быть изменено во время выполнения программы. Действительным является последнее заданное выражение. Следовательно, если необходимо использовать выражение, заданное командой !WIN_INPUT, не следует задавать выражение с помощью команды !SHOW.
Если 'picture' пропущено, поиск окна ведется в изображении или функции изображения, где была выдана команда. Если окно там не найдено, поиск ведется по всему экрану. Если окно найти невозможно, выдается состояние ошибки.
Пример:
!WIN_INPUT LINE "TRY AGAIN:"
!SHOW LINE
;Текст TRY AGAIN показывает в окне LINE.
!WIN_LEVEL [picture path]window level
Определяет параметр уровня для окна.
‘window’ |
Имя окна. |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. |
'level' |
Целочисленное значение в диапазоне -100 ... +100. -100 = окно помещается в нижнюю часть, +100 = окно помещается в верхнюю часть. Значение по умолчанию = 0. Вместо значений могут использоваться следующие две предопределенные константы: ON_BOTTOM ( = -100) и ON_TOP (= +100). |
Команда определяет уровень окна относительно других окон на том же самом уровне в иерархии изображений (смотрите Главу 4). Смотрите общую часть данного подраздела.
!WIN_NAME [picture path]window
Создает новое окно.
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. |
'window' |
Имя окна. |
Команда функционирует так же, как команда !WIN_CREATE, за исключением следующего:
Если не указана ссылка на изображение, команда !WIN_NAME выполняет поиск по всему основному изображению. Если окно с указанным именем найдено, новое окно не создается.
Пример:
!WIN_NAME A
!WIN_POS A (1,1)
!WIN_PIC A A_PIC
!SHOW A
;Окно A создается и помещается в верхнем левом углу. В окне показывается
;изображение A_PIC.
!WIN_PIC [picture path]window picture
Выбирает изображение для показа в окне.
'window' |
Имя окна, в котором будет показано изображение. |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. |
'picture' |
Имя изображения, которое будет показано в окне, заданное в виде: |
[logical path/] picture name |
где |
‘picture name' Имя изображения без расширения, и |
'logical path' Имя логического пути. |
Если 'logical path' пропущен, используются имена пути, заданные по умолчанию. Смотрите команду #PATH, раздел 7.10. |
Этой командой Вы можете изменять имя изображения в течение времени выполнения программы. Отображается последнее заданное изображение. Имя изображения в окне хранится до тех пор, пока основное изображение находится на экране или сохраняется как быстрое изображение. Команда влечет за собой игнорирование имени изображения в определении окна.
Если 'picture path' пропущен, поиск окна ведется в изображении или в функции изображения, где была выдана эта команда. Если окно там не найдено, поиск продолжается по всему экрану. Если окно не может быть найдено, выдается состояние ошибки.
Пример:
!WIN_PIC AREA TABLE
!SHOW AREA
;Изображение TABLE показывается в окне AREA.
!WIN_POS [picture path]window pos
Позиционирует окно.
'window' |
Имя окна, для которого необходимо определить местоположение. |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 7. |
'pos' |
Новое окно позиционируется как вектор с двумя положительными целочисленными значениями. Первый элемент – это позиция x (горизонтальная координата, 1...160), а второй - позиция y (вертикальная координата, 1...96). Если 'pos' содержит более двух элементов (например, переменная, сгенерированная командой !INPUT_POS), эти элементы игнорируются. |
Верхний левый угол окна 'window' помещается в позицию 'pos' псевдографического символа. Если x-координата больше, чем 80, или y-координата больше 48, то окно разместиться на панели управления, вне экрана.
Если в данный момент окно находится на экране, оно немедленно уничтожается и перемещается из старой позиции в новую. Окно размещается в вершине всех окон с одинаковым параметром уровня и с общим “родителем”. Новое месторасположение будет сохраняться, пока основное изображение отображается на экране или хранится как быстрое изображение.
Если 'picture' исключено из команды, поиск окна ведется в изображении или в функции изображения, где была выдана команда. Если окно там не найдено, поиск продолжается по всему экрану. Если окно не может быть найдено, выдается состояние ошибки.
Примеры:
!WIN_POS ABC (1,1)
;Окно ABC перемещается в верхний левый угол основного изображения.
!SHOW INFO "POINT OUT A NEW LOCATION"
!INPUT_POS POS
!WIN_POS FIG %POS
;Окно FIG перемещается в позицию, указанную мышью
!WIN_REP [picture path]window representation
Выбирает библиотечное представление для окна.
‘window’ |
Имя окна, которому будет присвоено библиотечное представление. |
'picture path' |
Путь изображения в соответствии с форматом, описанным в Главе 4. |
'representation' |
Библиотечное представление, которое должно использоваться в окне, заданное как: |
[library/] representation |
где: |
'representation' - имя представления, и |
'library' - логическое имя библиотеки. |
Если имя библиотеки пропущено, представление ищется в библиотеке DEFAULT. Смотрите команду #REP_LIB в разделе 7.10.
Посредством данной команды представление, которое должно быть использовано в окне, может быть изменено во время выполнения программы. Действительным является последнее заданное представление. Заданное имя представления будет храниться, пока основное изображение находится на экране или сохраняется как быстрое изображение. При использовании данной команды представление, заданное в определении окна, игнорируется.
Если 'picture' исключается из команды, поиск окна ведется в изображении или в функции изображения, где была выдана эта команда. Если окно не найдено, поиск продолжается по всему экрану. Если окно не может быть найдено, выдается состояние ошибки.
Примеры:
!WIN_REP LINE PASSWORD
!SHOW LINE
;Представление PASSWORD определяет форму для отображения в окне LINE.
;Поиск представления осуществляется в файле (файлах), определенных именем
;библиотеки DEFAULT.
!WIN_REP LINE ENG/PASSWORD
!SHOW LINE
;То же, что и выше, но представление будет искаться в файле(ах),
;определенных библиотечным именем ENG.
7.2.3 Команды ввода
!CSR_LEFT
!CSR_RIGHT
!CSR_BOL
!CSR_EOL
Данные команды перемещают курсор ввода данных.
!CSR_LEFT перемещает курсор ввода данных на один шаг влево, а !CSR_RIGHT - на один шаг вправо. !CSR_BOL перемещает курсор в начало поля ввода, !CSR_EOL - в конец поля ввода.
Эти команды могут использоваться только после команды !INPUT_VAR и не имеют эффекта без выдачи данной команды.
!ENTER
Завершает ввод данных.
После выполнения команды !INPUT_VAR система ожидает ввод символов до тех пор, пока не будет получена команда !ENTER или нажата клавиша ENTER на клавиатуре. Если программа, содержащая команду !ENTER (обычно программа функциональной клавиши), содержит другие операторы после !ENTER, выполняются эти операторы. Затем выполнение программы продолжается с первого оператора, следующего за командой !INPUT_VAR.
Команда не имеет эффекта без предварительной выдачи команды !INPUT_VAR .
!INPUT_KEY keytext var
Считывает информацию функциональной клавиши.
'keytext' |
Данный аргумент определяет вид информации, которая должна быть считана: PROGRAM = программа, HEADER = заголовок функциональной клавиши, HELP = текст помощи функциональной клавиши. |
‘var' |
Имя переменной. Переменная будет содержать выбранную информацию в виде текстового вектора. |
Запрошенная информация нажатой функциональной клавиши считывается и помещается в переменную 'var'. Переменная становится вектором, длина которого определяется запрошенной информацией.
После выполнения данной команды другие команды не выполняются до тех пор, пока не будет нажата функциональная клавиша.
Пример:
!INPUT_KEY HELP V
!SHOW HELP %V
;После выполнения команды !INPUT_KEY система ждет нажатия
;на функциональную клавишу. Если клавиша содержит текст
;помощи, текст будет показан в окне HELP.
!INPUT_POS var
Считывает позицию курсора или указателя мыши.
Команда считывает координаты последовательных нажатий на мышь или соответствующих клавиатурных операций и сохраняет координаты в заданной переменной. Для ввода доступна панель управления целиком. После выполнения данной команды другие команды не выполняются до тех пор, пока не будет указана позиция с помощью мыши.
Переменная 'var' становится вектором из четырех целочисленных элементов:
(x,y,x_rel,y_rel)
где:
'x,y' |
Координаты позиции курсора относительно верхнего левого угла экрана с координатами (1,1). Диапазон значений координаты х - 1...160. Координаты 1...80 принадлежат самому экрану, а координаты 81...160 - панели управления, которая выходит за пределы экрана. Диапазон значений координаты у - 1...96. Экранная часть находится в диапазоне 1...48. Координаты 49...96 принадлежат панели управления за пределами экрана. |
'x_rel,y_rel' |
Координаты позиции курсора относительно верхнего левого угла (= (1,1)) окна, в котором была выполнена команда !INPUT_POS. Эти координаты могут быть отрицательными. |
Примеры:
!INPUT_POS V
;Позиция следующего щелчка мыши считывается и присваивается переменной V.
!WIN_POS WINDOW %V
;Окно WINDOW перемещается в позицию, определенную переменной V
;(используются только первые два элемента вектора, т.е. одна пара
;координат).
!INPUT_VAR [picture path]window variable max length
Считывает вводимое пользователем значение.
'window' |
Имя окна для поля ввода. |
'picture path' |
Ссылка на изображение в соответствии с форматом, описанным в Главе 4. |
'variable' |
Имя переменной, которой присваивается введенное значение. |
‘max_legth’ |
Максимальная длина вводимой строки (в полнографических полях ввода) |
Данная команда позволяет пользователю присвоить значение переменной во время работы. Имя окна указывает, в каком окне будет отображаться вводимое значение. Оператор выполняется только в том случае, если окно определено и имеет тип FIELD. Определение окна определяет тип данных переменной (целое число, вещественное значение или текст) так же, как количество десятичных цифр (если данные вещественные).
После этой команды система ждет ввода символов с клавиатуры или с панели управления до тех пор, пока она не будет получена команда !ENTER или не будут нажаты клавиши Enter/Line Feed на клавиатуре. При этом не обрабатываются команды, не связанные с символьным вводом.
Ввод данных посредством панели управления требует, чтобы клавиши символов были определены в изображении. При использовании клавиатуры символы строчных букв (нижнего регистра) преобразуются в символы верхнего регистра. Скандинавские буквы Е, Д, Ц и немецкая U будут преобразованы в соответствующие псевдографические символы MicroSCADA, т.е. в коды ASCII [, \ и ].
Эта команда не допустима в программах обновления.
Пример:
!INPUT_VAR WIND V
;Значение переменной V считывается из окна WIND.
!RUBOUT
!RUBOUT_CUR
!RUBOUT_BOL
!RUBOUT_EOL
Удаление вводимых данных.
!RUBOUT удаляет символ слева от курсора.
!RUBOUT_CUR удаляет символ в текущей позиции курсора.
!RUBOUT_BOL удаляет начало строки до позиции курсора, но, не включая эту позицию.
!RUBOUT_EOL удаляет конец строки, начиная с позиции курсора.
Команды могут использоваться только после команды !INPUT_VAR, и без этой команды они имеют эффекта.
!TOGGLE_MOD
Переключает режим вставки/замены символов.
Переключение из режима замены (по умолчанию) в режим вставки, и наоборот. Команда может использоваться только после команды !INPUT_VAR и не имеет эффекта без нее.
7.2.4 Прочие команды изображений
!SEND_PIC device number
Копирует изображение (псевдографическое) на принтер.
'device' |
Имя устройства = LPT (устройство построчной печати). |
'number' |
Логический номер принтера. Целочисленное выражение, 1...20. |
Псевдографические части изображения, в их текущем формате, выводятся на принтер ("твердая копия"). Принтер начинает новую страницу либо до, либо после печати.
В зависимости от определения принтера в базовой системе (атрибут PRIn:BOD), печать может быть сохранена на диске.
Пример:
!SEND_PIC LPT 1
!RESET
Удаляет переменные в изображении.
Все переменные, которым были присвоены значения до этой команды, кроме переменных программы запуска, удаляются. Одновременно выполняется команда !RESTORE (раздел 7.2).
Пример:
@PROFIT = 350000
!SHOW WIND %PROFIT;Значение 350000 показывается в окне WIND.
!RESET
!SHOW WIND %PROFIT
;На экран выдается сообщение об ошибке.
#ON ERROR !RESET
;Переменные удаляются, если возникает ошибка.